/*
 * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
 * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
 */

package org.jetbrains.kotlin.lombok;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.util.KtTestUtil;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.jupiter.api.Test;

import java.io.File;
import java.util.regex.Pattern;

/** This class is generated by {@link org.jetbrains.kotlin.lombok.TestGeneratorKt}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@TestMetadata("plugins/lombok/testData/diagnostics/k1+k2")
@TestDataPath("$PROJECT_ROOT")
public class DiagnosticTestForLombokGenerated extends AbstractDiagnosticTestForLombok {
  @Test
  @TestMetadata("accessorsStripPrefixCombined.kt")
  public void testAccessorsStripPrefixCombined() {
    runTest("plugins/lombok/testData/diagnostics/k1+k2/accessorsStripPrefixCombined.kt");
  }

  @Test
  public void testAllFilesPresentInK1_k2() {
    KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/lombok/testData/diagnostics/k1+k2"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true);
  }

  @Test
  @TestMetadata("annotationTypes.kt")
  public void testAnnotationTypes() {
    runTest("plugins/lombok/testData/diagnostics/k1+k2/annotationTypes.kt");
  }

  @Test
  @TestMetadata("builderAnnotationArguments.kt")
  public void testBuilderAnnotationArguments() {
    runTest("plugins/lombok/testData/diagnostics/k1+k2/builderAnnotationArguments.kt");
  }

  @Test
  @TestMetadata("builderConfig.kt")
  public void testBuilderConfig() {
    runTest("plugins/lombok/testData/diagnostics/k1+k2/builderConfig.kt");
  }

  @Test
  @TestMetadata("builderSingularNullability.kt")
  public void testBuilderSingularNullability() {
    runTest("plugins/lombok/testData/diagnostics/k1+k2/builderSingularNullability.kt");
  }

  @Test
  @TestMetadata("clashAccessors.kt")
  public void testClashAccessors() {
    runTest("plugins/lombok/testData/diagnostics/k1+k2/clashAccessors.kt");
  }

  @Test
  @TestMetadata("getters.kt")
  public void testGetters() {
    runTest("plugins/lombok/testData/diagnostics/k1+k2/getters.kt");
  }

  @Test
  @TestMetadata("gettersClassLevel.kt")
  public void testGettersClassLevel() {
    runTest("plugins/lombok/testData/diagnostics/k1+k2/gettersClassLevel.kt");
  }

  @Test
  @TestMetadata("incorrectAnnotationArguments.kt")
  public void testIncorrectAnnotationArguments() {
    runTest("plugins/lombok/testData/diagnostics/k1+k2/incorrectAnnotationArguments.kt");
  }

  @Test
  @TestMetadata("setters.kt")
  public void testSetters() {
    runTest("plugins/lombok/testData/diagnostics/k1+k2/setters.kt");
  }

  @Test
  @TestMetadata("settersClassLevel.kt")
  public void testSettersClassLevel() {
    runTest("plugins/lombok/testData/diagnostics/k1+k2/settersClassLevel.kt");
  }
}
